PAT 总结(C++ Python)

#Python

  • list_a = [init_num] * N #初试列表list_a内容为N个init_num
  • sorted()是内建函数,用法是

    sorted(data, cmp=None, key=None, reverse=False);
    data是待排序数据,可以是list,dict;cmp是带两个参数的函数;key是带一个参数的函数;reverse用来指示是否逆序;

sorted(students, key=lambda student : student[2])
表示对students排序,按照每个student的第三个字段排序;

sorted(students, cmp=lambda x,y: cmp(x[2],y[2])
用cmp对students排序

from operator import itemgetter,attrgetter
sorted(students, key=itemgetter(1,2))
用itemgetter多级排序,先按照第二个字段,然后按照第三个字段;如果只有一个参数,表示只按照一个字段排序;

** 同样,对于字典的排序,itemgetter(1)表示按照key排序,itemgetter(2)对value排序;

  • sort()是list的函数,用法为list.sort(),其和sorted的区别是:
    sorted返回一个data的副本,而sort是改变原list,不返回副本;

  • 如果要返回一个逆序的list,b=a[::-1],得到a的一个逆序并赋值给b